<?php

require_once 'users.modelo.class.php';
require_once 'estados.modelo.class.php';
require_once 'cidades.modelo.class.php';

class UsersControl {

    function UsersControl() {

        if (isset($_POST['action']) && $_POST['action'] == "usercomum_insert") {

            if ($_POST['name'] == NULL || $_POST['sexo'] == NULL || $_POST['cpf'] == NULL || $_POST['rg'] == NULL || $_POST['FKrg_uf'] == NULL || $_POST['birth'] == NULL || $_POST['user'] == NULL || $_POST['password'] == NULL || $_POST['email'] == NULL || $_POST['cep2'] == NULL || $_POST['logradouro2'] == NULL || $_POST['bairro2'] == NULL || $_POST['cidade2'] == NULL || $_POST['uf2'] == NULL) {
                echo "Preencha todos os campos";
				
                return false;
            }
			$data = $this->trataData($_POST['birth']);
			$senha = md5($_POST['password']);
			
			$cidadesControl = new CidadesControl();
			$FKcidade = $cidadesControl->retornaID_Cidade($_POST['cidade2']);
			
			$estadosControl = new EstadosControl();
			$FKuf = $estadosControl->retornaID_UF($_POST['uf2']);
			
			$autentica = $this->retornaAutentica();

            $usersModelo = new UsersModelo();
            $usersModelo->setName($_POST['name']);
			$usersModelo->setSexo($_POST['sexo']);
			$usersModelo->setCpf($_POST['cpf']);
			$usersModelo->setRg($_POST['rg']);
            $usersModelo->setFKrg_uf($_POST['FKrg_uf']);
			$usersModelo->setBirth($data);
			$usersModelo->setLogin($_POST['user']);
			$usersModelo->setPassword($senha);
			$usersModelo->setEmail($_POST['email']);
			$usersModelo->setCep($_POST['cep2']);
			$usersModelo->setLogradouro($_POST['logradouro2']);
			$usersModelo->setBairro($_POST['bairro2']);
			$usersModelo->setFKcidade($FKcidade);
			$usersModelo->setFKuf($FKuf);
			$usersModelo->setPermission('-1');
			$usersModelo->setAutentica($autentica);

            $usersModelo->insert();

            header("Location: ../index.php");
        }

        if (isset($_POST['action']) && $_POST['action'] == "users_update") {

            if ($_POST['nome'] == NULL || $_POST['tipo'] == NULL) {
                echo "Preencha todos os campos";

                return false;
            }
            $usersModelo = new UsersModelo();
            $usersModelo->setName($_POST['name']);
			$usersModelo->setSexo($_POST['sexo']);
			$usersModelo->setCpf($_POST['cpf']);
            $usersModelo->setBirth($data);
			$usersModelo->setLogin($_POST['user']);
			$usersModelo->setPassword($senha);
			$usersModelo->setEmail($_POST['email']);
			$usersModelo->setCep($_POST['cep2']);
			$usersModelo->setLogradouro($_POST['logradouro']);
			$usersModelo->setBairro($_POST['bairro']);
			$usersModelo->setFKcidade($_POST['cidade']);
			$usersModelo->setFKuf($_POST['uf']);
			$usersModelo->setPermission('-1');
			$usersModelo->setAutentica($autentica);

            $usersModelo->updateNome();
            $usersModelo->updateSexo();
			$usersModelo->updateCpf();
			$usersModelo->updateBirth();
			$usersModelo->updateLogin();
			$usersModelo->updatePassword();
			$usersModelo->updateEmail();
			$usersModelo->updateCep();
			$usersModelo->updateLogradouro();
			$usersModelo->updateBairro();
			$usersModelo->updateFKcidade();
			$usersModelo->updateFKuf();
			$usersModelo->updatePermission();
			$usersModelo->updateAutentica();

            header("Location: mostrar_caixa.php");
        }
		
		if (isset($_POST['action']) && $_POST['action'] == "user_autentica") {

            if ($_POST['user_id'] == NULL || $_POST['autentica'] == NULL) {
                echo "Preencha todos os campos";

                return false;
            }
			$id= ($_POST['user_id']);
			$autentica = ($_POST['autentica']);
			
			$sql = $this->AutenticaUsers($id,$autentica);
			$rs = (sizeof($sql));
			
			if ( $rs != 0 ){
				session_start();
				$_SESSION["permission"] = '0';
            	$usersModelo = new UsersModelo();
				$usersModelo->setId($_POST['user_id']);
            	$usersModelo->setPermission('0');
			
				$usersModelo->updatePermission();

				echo $_SESSION["permission"];
            	
				header("Location: ../sistema/index.php");
				
				exit;
			} else {
				?> <script language="javascript">
					alert('Dado incorreto!');
					location.href="../sistema/confirmacao.php";
                </script> <?php
				exit;
			}
        }


        if (isset($_GET['action']) && $_GET['action'] == "users_delete") {

            $usersModelo = new UsersModelo();
            $usersModelo->setId($_GET['id']);

            $usersModelo->delete();

            header("Location: mostrar_caixa.php");
        }
		
		if (isset($_POST['action']) && $_POST['action'] == "user_login") {

            if ($_POST['user'] == NULL || $_POST['password'] == NULL) {
                echo "Preencha todos os campos";

                return false;
            }
			session_start();
			
			$login = ($_POST['user']);
			$password = md5($_POST['password']);

			$sql = $this->LoginUsers($login, $password);
			$rs = (sizeof($sql));
 
			if ($rs != 0) {
				$_SESSION["id"]   = $sql[0]["id"];
        		$_SESSION["name"] = $sql[0]["name"];
				$_SESSION["login"] = $sql[0]["login"];
				$_SESSION["permission"] = $sql[0]["permission"];
				
				if ($_SESSION["permission"] == '-1'){
					header("Location: ../sistema/confirmacao.php");
				} elseif ($_SESSION["permission"] == '2'){
					header("Location: ../admin/administracao.php");
				} else{
					header("Location: ../sistema/index.php");
				}
				exit;
				
				
			} else {
				?> <script language="javascript">
					alert('Dados incorretos!');
					location.href="../index.php";
                </script> <?php
				exit;
			}

        }

    }

    function selectUsers($id) {
        $usersModelo = new UsersModelo();
        $array = $usersModelo->select("WHERE id = ".$id);
        return $array;
    }
	
	function AutenticaUsers($id, $autentica){
		$usersModelo = new UsersModelo();
		$array = $usersModelo->select("WHERE id = ".$id." AND autentica = '".$autentica."'");
		return $array;
	}
	
	function LoginUsers($login, $password) {
        $usersModelo = new UsersModelo();
        $array = $usersModelo->select("WHERE login = '".$login."' AND password = '".$password."'");
        return $array;
    }

    function selectAll() {
        $usersModelo = new UsersModelo();
        $array = $usersModelo->select("");
        return $array;
    }
	
	function trataData($data) {
        $dataTratada = explode("/", $data);
        $dataTratada = $dataTratada[2]."-".$dataTratada[1]."-".$dataTratada[0];

        return $dataTratada;
    }

    function retornaData($data) {
        $dataTratada = explode("-", $data);
        $dataTratada = $dataTratada[2]."/".$dataTratada[1]."/".$dataTratada[0];

        return $dataTratada;
    }
	
	function retornaAutentica() {
		$CaracteresAceitos = 'abcdefghijklmnopqrstuvxywz!@#*+0123456789!@#*+ABCDEFGHIJKLMNOPQRSTUVXWYZ0!@#*+123456789!@#*+'; 
		$max = strlen($CaracteresAceitos)-1;
		$password = null;
		for($i=0; $i < 15; $i++) { 
		$password .= $CaracteresAceitos{mt_rand(0, $max)}; 
		}
		return $password;
		}

	}

?>